package com.ltkj.system.api.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ltkj.common.core.annotation.Excel;
import com.ltkj.common.core.web.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 订单对象 tic_order
 *
 * @author ruoyi
 * @date 2023-09-15
 */
@ApiModel(value = "订单")
public class TicOrder extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 订单id */
    @ApiModelProperty("订单id")
    private Long orderId;

    /** 订单号 */
    @Excel(name = "订单号")
    @ApiModelProperty("订单号")
    private String orderNum;

    /** 下单人姓名 */
    @Excel(name = "下单人姓名")
    @ApiModelProperty("下单人姓名")
    private String orderTname;

    /** 下单人联系方式 */
    @Excel(name = "下单人联系方式")
    @ApiModelProperty("下单人联系方式")
    private String orderTphone;

    /** 下单人身份证号 */
    @Excel(name = "下单人身份证号")
    @ApiModelProperty("下单人身份证号")
    private String orderTcode;

    /** 下单时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "下单时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("下单时间")
    private Date orderTime;

    /** 状态 */
    @Excel(name = "状态")
    @ApiModelProperty("状态")
    private String orderStatus;

    /** 支付方式 */
    @Excel(name = "支付方式")
    @ApiModelProperty("支付方式")
    private String orderPayType;

    /** 总金额 */
    @Excel(name = "总金额")
    @ApiModelProperty("总金额")
    private BigDecimal orderTotalPrice;

    /** 数据状态 */
    @Excel(name = "数据状态")
    @ApiModelProperty("数据状态")
    private String isDel;

    /** 用户 */
    @Excel(name = "用户")
    @ApiModelProperty("用户")
    private Long userId;

    /** 收货地址id */
    @Excel(name = "收货地址id")
    @ApiModelProperty("收货地址id")
    private Long orderAddressId;

    /** 邮费 */
    @Excel(name = "邮费")
    @ApiModelProperty("邮费")
    private BigDecimal postagePrice;

    /** 微信订单号 */
    @Excel(name = "微信订单号")
    @ApiModelProperty("微信订单号")
    private String wxOrderNum;

    /** 收货地址类型 */
    @Excel(name = "收货地址类型")
    @ApiModelProperty("收货地址类型")
    private String addressType;

    /** 详细地址 */
    @Excel(name = "详细地址")
    @ApiModelProperty("详细地址")
    private String addressDetail;

    /** 收货人姓名 */
    @Excel(name = "收货人姓名")
    @ApiModelProperty("收货人姓名")
    private String deliveryName;

    /** 收货人电话 */
    @Excel(name = "收货人电话")
    @ApiModelProperty("收货人电话")
    private String deliveryPhone;

    /** 支付时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "支付时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("支付时间")
    private Date payTime;

    /** 店铺ID */
    @Excel(name = "店铺ID")
    @ApiModelProperty("店铺ID")
    private Long shopId;

    /** 基础店铺ID */
    @Excel(name = "基础店铺ID")
    @ApiModelProperty("基础店铺ID")
    private Long sysStoresId;

    public void setOrderId(Long orderId)
    {
        this.orderId = orderId;
    }

    public Long getOrderId()
    {
        return orderId;
    }
    public void setOrderNum(String orderNum)
    {
        this.orderNum = orderNum;
    }

    public String getOrderNum()
    {
        return orderNum;
    }
    public void setOrderTname(String orderTname)
    {
        this.orderTname = orderTname;
    }

    public String getOrderTname()
    {
        return orderTname;
    }
    public void setOrderTphone(String orderTphone)
    {
        this.orderTphone = orderTphone;
    }

    public String getOrderTphone()
    {
        return orderTphone;
    }
    public void setOrderTcode(String orderTcode)
    {
        this.orderTcode = orderTcode;
    }

    public String getOrderTcode()
    {
        return orderTcode;
    }
    public void setOrderTime(Date orderTime)
    {
        this.orderTime = orderTime;
    }

    public Date getOrderTime()
    {
        return orderTime;
    }
    public void setOrderStatus(String orderStatus)
    {
        this.orderStatus = orderStatus;
    }

    public String getOrderStatus()
    {
        return orderStatus;
    }
    public void setOrderPayType(String orderPayType)
    {
        this.orderPayType = orderPayType;
    }

    public String getOrderPayType()
    {
        return orderPayType;
    }
    public void setOrderTotalPrice(BigDecimal orderTotalPrice)
    {
        this.orderTotalPrice = orderTotalPrice;
    }

    public BigDecimal getOrderTotalPrice()
    {
        return orderTotalPrice;
    }
    public void setIsDel(String isDel)
    {
        this.isDel = isDel;
    }

    public String getIsDel()
    {
        return isDel;
    }
    public void setUserId(Long userId)
    {
        this.userId = userId;
    }

    public Long getUserId()
    {
        return userId;
    }
    public void setOrderAddressId(Long orderAddressId)
    {
        this.orderAddressId = orderAddressId;
    }

    public Long getOrderAddressId()
    {
        return orderAddressId;
    }
    public void setPostagePrice(BigDecimal postagePrice)
    {
        this.postagePrice = postagePrice;
    }

    public BigDecimal getPostagePrice()
    {
        return postagePrice;
    }
    public void setWxOrderNum(String wxOrderNum)
    {
        this.wxOrderNum = wxOrderNum;
    }

    public String getWxOrderNum()
    {
        return wxOrderNum;
    }
    public void setAddressType(String addressType)
    {
        this.addressType = addressType;
    }

    public String getAddressType()
    {
        return addressType;
    }
    public void setAddressDetail(String addressDetail)
    {
        this.addressDetail = addressDetail;
    }

    public String getAddressDetail()
    {
        return addressDetail;
    }
    public void setDeliveryName(String deliveryName)
    {
        this.deliveryName = deliveryName;
    }

    public String getDeliveryName()
    {
        return deliveryName;
    }
    public void setDeliveryPhone(String deliveryPhone)
    {
        this.deliveryPhone = deliveryPhone;
    }

    public String getDeliveryPhone()
    {
        return deliveryPhone;
    }
    public void setPayTime(Date payTime)
    {
        this.payTime = payTime;
    }

    public Date getPayTime()
    {
        return payTime;
    }
    public void setShopId(Long shopId)
    {
        this.shopId = shopId;
    }

    public Long getShopId()
    {
        return shopId;
    }
    public void setSysStoresId(Long sysStoresId)
    {
        this.sysStoresId = sysStoresId;
    }

    public Long getSysStoresId()
    {
        return sysStoresId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("orderId", getOrderId())
                .append("orderNum", getOrderNum())
                .append("orderTname", getOrderTname())
                .append("orderTphone", getOrderTphone())
                .append("orderTcode", getOrderTcode())
                .append("orderTime", getOrderTime())
                .append("orderStatus", getOrderStatus())
                .append("orderPayType", getOrderPayType())
                .append("orderTotalPrice", getOrderTotalPrice())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("isDel", getIsDel())
                .append("userId", getUserId())
                .append("orderAddressId", getOrderAddressId())
                .append("postagePrice", getPostagePrice())
                .append("wxOrderNum", getWxOrderNum())
                .append("addressType", getAddressType())
                .append("addressDetail", getAddressDetail())
                .append("deliveryName", getDeliveryName())
                .append("deliveryPhone", getDeliveryPhone())
                .append("payTime", getPayTime())
                .append("shopId", getShopId())
                .append("sysStoresId", getSysStoresId())
                .toString();
    }
}
